@深巷
2年前 提问
1个回答
数据库典型启发式规则有哪些
delay
2年前
数据库典型启发式规则有以下这些:
尽可能先做选择运算。在优化策略中这是最重要、最基本的一条。它常常可以节省几个数量级的执行时间,因为选择运算一般会极大地减少中间结果。
投影运算和选择运算同时进行。如有若干投影和选择运算,并且它们都在同一个关系上进行操作,则可以在扫描此关系的同时完成所有的投影和选择运算,以避免重复扫描。
把投影运算和其之前或之后的二元运算结合起来,这样可以减少关系的扫描次数。
把某些选择同在它前面要执行的笛卡儿积结合起来成为一个违接运算,违接特别是等值违接要比在同样关系上进行笛卡儿积节省很多时间。
找出公共子表达式。如果某个重复出现的子表达式的结果不是很大的关系,并且从外存读入这个关系比计算该子表达式的时间少得多,则先计算一次公共子表达式并把结果写入中间文件是比较合算的。当对视图进行查询时,定义视图的语句就是公共子表达式。